#ifndef ObjetEquipable_h
#define ObjetEquipable_h

#include "Objet.h"

class ObjetEquipable : public Objet {

 public:
   ObjetEquipable(){
    this->bonus_def=0;
    this->bonus_fur=0;
    this->bonus_int=0;

   }
   ObjetEquipable(const ObjetEquipable & e){
       this->bonus_def=e.bonus_def;
       this->bonus_fur=e.bonus_fur;
       this->bonus_int=e.bonus_int;
       this->nom=e.nom;
       this->poids=e.poids;
   }
   ObjetEquipable(string monnom, float bFur, float bInt, float bDef, int poids) : Objet(monnom, poids) {
   
    this->bonus_def=bDef;
    this->bonus_fur=bFur;
    this->bonus_int=bInt;
   }
   ~ObjetEquipable(){};
   virtual Type getType() = 0;
   bool isEquipable();
   float getObjetStat(string stat);

 public:
    float bonus_def;
    float bonus_int;
    float bonus_fur;

    float getBonus_def() const {
        return bonus_def;
    }

    void setBonus_def(float bonus_def) {
        this->bonus_def = bonus_def;
    }

    float getBonus_fur() const {
        return bonus_fur;
    }

    void setBonus_fur(float bonus_fur) {
        this->bonus_fur = bonus_fur;
    }

    float getBonus_int() const {
        return bonus_int;
    }

    void setBonus_int(float bonus_int) {
        this->bonus_int = bonus_int;
    }

    void CaracteristiqueObjets();

};

#endif // Objet equipable_h
